// 1. 从命令行获取参数：process.argv是命令行参数数组，前2项是node路径和当前文件路径，第3、4项是传入的用户名和密码
const username = process.argv[2]; // 第3个参数（索引2）：用户名
const password = process.argv[3]; // 第4个参数（索引3）：密码

// 2. 验证参数是否传入（可选，增强鲁棒性）
if (!username || !password) {
  console.error("请传入用户名和密码，格式：node encodeBuffer.js 用户名 密码");
  process.exit(1); // 退出程序，状态码1表示错误
}

// 3. 打印原始用户名和密码
console.log(`用户名: ${username} 密码: ${password}`);

// 4. 用Buffer进行Base64编码：先拼接“用户名:密码”（符合HTTP Basic Auth格式），再转Base64
const originalStr = `${username}:${password}`; // 拼接字符串
const base64Buffer = Buffer.from(originalStr); // 将字符串转为Buffer
const base64Str = base64Buffer.toString("base64"); // Buffer转Base64字符串

// 5. 打印编码结果
console.log(`base64加密: ${base64Str}`);